;	Krystian Kornowski i Krzysztof Janas I4

(deftemplate GUI
	(slot label)
	(slot relation-asserted (default none))
	(multislot valid-answers)
	(multislot next)
	(slot image (default none))
)

(deffacts init-facts
	(begin)
)

(defrule start ""
	?x <- (begin)
	=>
	(retract ?x)
	(assert (GUI 
				(label SPLASH)
				(relation-asserted begin)
				(image pictures/start.gif)
			)
	)
	(halt)
)

;----------
; Pytania |
;----------

(defrule pytanie-rozmieszczenie ""
	(not (rozmieszczenie ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label ROZM)
				(relation-asserted rozmieszczenie)
				(valid-answers POMORZE NIZINY WYZYNY GORY)
				(image pictures/rozm.gif)
			)
	)
	(halt)
)

(defrule pytanie-wystepowanie ""
	(not (wystepowanie ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label WYST)
				(relation-asserted wystepowanie)
				(valid-answers LASY LAKI POLA WSIE PARKI JEZIORA MORZE)
				(image pictures/wyst.gif)
			)
	)
	(halt)
)

(defrule pytanie-dlugosc_ciala ""
	(not (dlugosc ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label DLUGOSC)
				(relation-asserted dlugosc)
				(valid-answers 0DO50 51DO100 101DO150 151DO200 NIE_WIEM)
				(image pictures/dlugosc.gif)
			)
	)
	(halt)
)

(defrule pytanie-rozpietosc_skrzydel ""
	(not (rozpietosc ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label ROZP)
				(relation-asserted rozpietosc)
				(valid-answers 0DO50 51DO100 101DO150 151DO200 201DO250 NIE_WIEM)
				(image pictures/rozp.gif)
			)
	)
	(halt)
)

(defrule pytanie-upierzenie ""
	(not (upierzenie ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label UPIERZ)
				(relation-asserted upierzenie)
				(valid-answers CZARNE BIALE SZARE BRAZOWE NIE_WIEM)
				(image pictures/upierz.gif)
			)
	)
	(halt)
)

(defrule pytanie-kolor_dziobu ""
	(not (kolor ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label KOLOR)
				(relation-asserted kolor)
				(valid-answers CZARNY SZARY CZERWONY POMARANCZOWY ZOLTY NIE_WIEM)
				(image pictures/kolor_dz.gif)
			)
	)
	(halt)
)

(defrule pytanie-ksztalt_dziobu ""
	(not (ksztalt ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label KSZTALT)
				(relation-asserted ksztalt)
				(valid-answers 1DZ 2DZ 3DZ 4DZ 5DZ 6DZ NIE_WIEM)
				(image pictures/ksztalt_dz.gif)
			)
	)
	(halt)
)

(defrule pytanie-pokarm ""
	(not (pokarm ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label POKARM)
				(relation-asserted pokarm)
				(valid-answers ROSLINY ZWIERZETA_WODNE MALE_ZWIERZETA OWADY NIE_WIEM)
				(image pictures/pokarm.gif)
			)
	)
	(halt)
)

;-------------
; Odpowiedzi |
;-------------

(defrule odp-bocian_bialy ""
	(logical
		
		(rozmieszczenie NIZINY)
		(or
			(wystepowanie POLA)
			(wystepowanie WSIE)
			(wystepowanie LAKI)
		)
		(or
			(dlugosc 101DO150)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 151DO200)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BIALE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZERWONY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 5DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ZWIERZETA_WODNE)
			(pokarm OWADY)
			(pokarm MALE_ZWIERZETA)
			(pokarm NIE_WIEM)
		)
	)
	(not (BOCIAN_BIALY ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label BOCIAN_BIALY)
				(relation-asserted BOCIAN_BIALY)
				(next NASTEPNY)
				(image pictures/bocian_bialy.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-bocian_czarny ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
		)
		(or
			(wystepowanie LASY)
			(wystepowanie JEZIORA)
		)
		(or
			(dlugosc 51DO100)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 151DO200)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie CZARNE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZERWONY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 5DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ZWIERZETA_WODNE)
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (BOCIAN_CZARNY ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label BOCIAN_CZARNY)
				(relation-asserted BOCIAN_CZARNY)
				(next NASTEPNY)
				(image pictures/bocian_czarny.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-labedz_niemy ""
	(logical
		
		(rozmieszczenie NIZINY)
		(wystepowanie JEZIORA)
		(or
			(dlugosc 151DO200)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 201DO250)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BIALE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor POMARANCZOWY)
			(kolor NIE_WIEM)
		)
		(or	
			(ksztalt 4DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm NIE_WIEM)
		)
	)
	(not (LABEDZ_NIEMY ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label LABEDZ_NIEMY)
				(relation-asserted LABEDZ_NIEMY)
				(next NASTEPNY)
				(image pictures/labedz_niemy.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-labedz_krzykliwy ""
	(logical
		
		(rozmieszczenie POMORZE)
		(or
			(wystepowanie JEZIORA)
			(wystepowanie MORZE)
		)
		(or
			(dlugosc 151DO200)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 201DO250)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BIALE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor ZOLTY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 4DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm NIE_WIEM)
		)
	)
	(not (LABEDZ_KRZYKLIWY ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label LABEDZ_KRZYKLIWY)
				(relation-asserted LABEDZ_KRZYKLIWY)
				(next NASTEPNY)
				(image pictures/labedz_krzykliwy.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-ges_zbozowa ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
		)
		(wystepowanie JEZIORA)
		(or
			(dlugosc 51DO100)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 151DO200)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie SZARE)
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor POMARANCZOWY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 4DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm NIE_WIEM)
		)
	)
	(not (GES_ZBOZOWA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label GES_ZBOZOWA)
				(relation-asserted GES_ZBOZOWA)
				(next NASTEPNY)
				(image pictures/ges_zbozowa.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-cyraneczka ""
	(logical
		
		(rozmieszczenie POMORZE)
		(or
			(wystepowanie JEZIORA)
			(wystepowanie MORZE)
		)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 51DO100)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie SZARE)
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 4DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm NIE_WIEM)
		)
	)
	(not (CYRANECZKA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label CYRANECZKA)
				(relation-asserted CYRANECZKA)
				(next NASTEPNY)
				(image pictures/cyraneczka.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-krzyzowka ""
	(logical
		
		(rozmieszczenie NIZINY)
		(wystepowanie JEZIORA)
		(or
			(dlugosc 51DO100)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 51DO100)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie SZARE)
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor POMARANCZOWY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 4DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (KRZYZOWKA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label KRZYZOWKA)
				(relation-asserted KRZYZOWKA)
				(next NASTEPNY)
				(image pictures/krzyzowka.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-bielik ""
	(logical
		
		(rozmieszczenie NIZINY)
		(or
			(wystepowanie LASY)
			(wystepowanie JEZIORA)
		)
		(or
			(dlugosc 51DO100)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 201DO250)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor ZOLTY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 1DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm MALE_ZWIERZETA)
			(pokarm NIE_WIEM)
		)
	)
	(not (BIELIK ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label BIELIK)
				(relation-asserted BIELIK)
				(next NASTEPNY)
				(image pictures/bielik.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-jastrzab ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie GORY)
			(rozmieszczenie POMORZE)
		)
		(wystepowanie LASY)
		(or
			(dlugosc 51DO100)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 101DO150)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie SZARE)
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor ZOLTY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 1DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm MALE_ZWIERZETA)
			(pokarm NIE_WIEM)
		)
	)
	(not (JASTRZAB ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label JASTRZAB)
				(relation-asserted JASTRZAB)
				(next NASTEPNY)
				(image pictures/jastrzab.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-myszolow ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie GORY)
			(rozmieszczenie POMORZE)
		)
		(or
			(wystepowanie LAKI)
			(wystepowanie LASY)
		)
		(or
			(dlugosc 51DO100)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 101DO150)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor ZOLTY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 1DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm MALE_ZWIERZETA)
			(pokarm NIE_WIEM)
		)
	)
	(not (MYSZOLOW ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label MYSZOLOW)
				(relation-asserted MYSZOLOW)
				(next NASTEPNY)
				(image pictures/myszolow.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-kuropatwa ""
	(logical
		
		(rozmieszczenie NIZINY)
		(or
			(wystepowanie LAKI)
			(wystepowanie POLA)
			(wystepowanie WSIE)
		)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 51DO100)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie SZARE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor SZARY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 2DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (KUROPATWA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label KUROPATWA)
				(relation-asserted KUROPATWA)
				(next NASTEPNY)
				(image pictures/kuropatwa.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-przepiorka ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
		)
		(wystepowanie POLA)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 0DO50)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BRAZOWE)
			(upierzenie SZARE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 2DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (PRZEPIORKA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label PRZEPIORKA)
				(relation-asserted PRZEPIORKA)
				(next NASTEPNY)
				(image pictures/przepiorka.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-bazant ""
	(logical
		
		(rozmieszczenie NIZINY)
		(or
			(wystepowanie LAKI)
			(wystepowanie POLA)
			(wystepowanie WSIE)
		)
		(or
			(dlugosc 51DO100)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 51DO100)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor SZARY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 2DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (BAZANT ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label BAZANT)
				(relation-asserted BAZANT)
				(next NASTEPNY)
				(image pictures/bazant.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-smieszka ""
	(logical
		
		(rozmieszczenie NIZINY)
		(wystepowanie JEZIORA)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 51DO100)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BIALE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 2DZ)
			(ksztalt 4DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ZWIERZETA_WODNE)
			(pokarm NIE_WIEM)
		)
	)
	(not (SMIESZKA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label SMIESZKA)
				(relation-asserted SMIESZKA)
				(next NASTEPNY)
				(image pictures/smieszka.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-mewa_pospolita ""
	(logical
		
		(rozmieszczenie POMORZE)
		(or
			(wystepowanie MORZE)
			(wystepowanie JEZIORA)
		)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 101DO150)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BIALE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 2DZ)
			(ksztalt 4DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ZWIERZETA_WODNE)
			(pokarm NIE_WIEM)
		)
	)
	(not (MEWAPOSP ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label MEWAPOSP)
				(relation-asserted MEWAPOSP)
				(next NASTEPNY)
				(image pictures/mewa_pospolita.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-mewa_czarnoglowa ""
	(logical
		
		(rozmieszczenie NIZINY)
		(wystepowanie JEZIORA)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 101DO150)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BIALE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZERWONY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 2DZ)
			(ksztalt 4DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ZWIERZETA_WODNE)
			(pokarm NIE_WIEM)
		)
	)
	(not (MEWACZAR ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label MEWACZAR)
				(relation-asserted MEWACZAR)
				(next NASTEPNY)
				(image pictures/mewa_czarnoglowa.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-puchacz ""
	(logical
		
		(or
			(rozmieszczenie GORY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
		)
		(wystepowanie LASY)
		(or
			(dlugosc 51DO100)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 151DO200)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 1DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm MALE_ZWIERZETA)
			(pokarm NIE_WIEM)
		)
	)
	(not (PUCHACZ ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label PUCHACZ)
				(relation-asserted PUCHACZ)
				(next NASTEPNY)
				(image pictures/puchacz.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-soweczka ""
	(logical
		
		(or
			(rozmieszczenie GORY)
			(rozmieszczenie WYZYNY)
		)
		(wystepowanie LASY)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 0DO50)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie SZARE)
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor SZARY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 1DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm MALE_ZWIERZETA)
			(pokarm NIE_WIEM)
		)
	)
	(not (SOWECZKA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label SOWECZKA)
				(relation-asserted SOWECZKA)
				(next NASTEPNY)
				(image pictures/soweczka.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-puszczyk ""
	(logical
		
		(or
			(rozmieszczenie POMORZE)
			(rozmieszczenie NIZINY)
			(rozmieszczenie GORY)
			(rozmieszczenie WYZYNY)
		)
		(wystepowanie LASY)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 51DO100)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor ZOLTY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 1DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm OWADY)
			(pokarm MALE_ZWIERZETA)
			(pokarm NIE_WIEM)
		)
	)
	(not (PUSZCZYK ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label PUSZCZYK)
				(relation-asserted PUSZCZYK)
				(next NASTEPNY)
				(image pictures/puszczyk.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-uszatka ""
	(logical
		
		(rozmieszczenie NIZINY)
		(wystepowanie LASY)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 51DO100)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie BRAZOWE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor ZOLTY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 1DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm MALE_ZWIERZETA)
			(pokarm NIE_WIEM)
		)
	)
	(not (USZATKA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label USZATKA)
				(relation-asserted USZATKA)
				(next NASTEPNY)
				(image pictures/uszatka.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-dzieciol_duzy ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie GORY)
			(rozmieszczenie POMORZE)
		)
		(wystepowanie LASY)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 0DO50)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie CZARNE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 3DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (DZIECIOLDUZY ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label DZIECIOLDUZY)
				(relation-asserted DZIECIOLDUZY)
				(next NASTEPNY)
				(image pictures/dzieciol_duzy.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-dzieciol_czarny ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie GORY)
			(rozmieszczenie POMORZE)
		)
		(wystepowanie LASY)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 51DO100)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie CZARNE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor SZARY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 3DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (DZIECIOLCZARNY ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label DZIECIOLCZARNY)
				(relation-asserted DZIECIOLCZARNY)
				(next NASTEPNY)
				(image pictures/dzieciol_czarny.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-dzieciolek ""
	(logical
		
		(rozmieszczenie NIZINY)
		(wystepowanie LASY)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 0DO50)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie CZARNE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor SZARY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 3DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (DZIECIOLEK ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label DZIECIOLEK)
				(relation-asserted DZIECIOLEK)
				(next NASTEPNY)
				(image pictures/dzieciolek.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-brzegowka ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
		)
		(wystepowanie JEZIORA)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 0DO50)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie SZARE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 6DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (BRZEGOWKA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label BRZEGOWKA)
				(relation-asserted BRZEGOWKA)
				(next NASTEPNY)
				(image pictures/brzegowka.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-oknowka ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
			(rozmieszczenie GORY)
		)
		(wystepowanie WSIE)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 0DO50)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie CZARNE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 6DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (OKNOWKA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label OKNOWKA)
				(relation-asserted OKNOWKA)
				(next NASTEPNY)
				(image pictures/oknowka.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-slowik_szary ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
			(rozmieszczenie GORY)
		)
		(or
			(wystepowanie LASY)
			(wystepowanie PARKI)
		)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 0DO50)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie SZARE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor SZARY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 6DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (SLOWIKSZARY ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label SLOWIKSZARY)
				(relation-asserted SLOWIKSZARY)
				(next NASTEPNY)
				(image pictures/slowik_szary.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-kos ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
			(rozmieszczenie GORY)
		)
		(or
			(wystepowanie PARKI)
			(wystepowanie LASY)
		)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 0DO50)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie CZARNE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor ZOLTY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 2DZ)
			(ksztalt 6DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (KOS ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label KOS)
				(relation-asserted KOS)
				(next NASTEPNY)
				(image pictures/kos.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-gawron ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
			(rozmieszczenie GORY)
		)
		(or
			(wystepowanie PARKI)
			(wystepowanie WSIE)
			(wystepowanie LASY)
		)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 51DO100)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie CZARNE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 2DZ)
			(ksztalt 3DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm OWADY)
			(pokarm NIE_WIEM)
		)
	)
	(not (GAWRON ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label GAWRON)
				(relation-asserted GAWRON)
				(next NASTEPNY)
				(image pictures/gawron.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-wrona ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
			(rozmieszczenie GORY)
		)
		(or
			(wystepowanie PARKI)
			(wystepowanie POLA)
			(wystepowanie LASY)
		)
		(or
			(dlugosc 0DO50)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 51DO100)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie SZARE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 2DZ)
			(ksztalt 3DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm ROSLINY)
			(pokarm OWADY)
			(pokarm MALE_ZWIERZETA)
			(pokarm NIE_WIEM)
		)
	)
	(not (WRONA ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label WRONA)
				(relation-asserted WRONA)
				(next NASTEPNY)
				(image pictures/wrona.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

(defrule odp-kruk ""
	(logical
		
		(or
			(rozmieszczenie NIZINY)
			(rozmieszczenie WYZYNY)
			(rozmieszczenie POMORZE)
			(rozmieszczenie GORY)
		)
		(or
			(wystepowanie LASY)
			(wystepowanie PARKI)
		)
		(or
			(dlugosc 51DO100)
			(dlugosc NIE_WIEM)
		)
		(or
			(rozpietosc 101DO150)
			(rozpietosc NIE_WIEM)
		)
		(or
			(upierzenie CZARNE)
			(upierzenie NIE_WIEM)
		)
		(or
			(kolor CZARNY)
			(kolor NIE_WIEM)
		)
		(or
			(ksztalt 2DZ)
			(ksztalt 3DZ)
			(ksztalt NIE_WIEM)
		)
		(or
			(pokarm OWADY)
			(pokarm MALE_ZWIERZETA)
			(pokarm NIE_WIEM)
		)
	)
	(not (KRUK ?))
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label KRUK)
				(relation-asserted KRUK)
				(next NASTEPNY)
				(image pictures/kruk.gif)
			)
	)
	(assert (znaleziono))
	(halt)
)

;--------

(defrule nie_znaleziono ""
	(logical
		(not (znaleziono))
	)
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label NIE_ZNALEZIONO)
				(image pictures/nie_znaleziono.gif)
			)
	)
	(halt)
)

(defrule koniec ""
	?x <- (GUI (label ?))
	=>
	(retract ?x)
	(assert (GUI
				(label KONIEC)
				(image pictures/koniec.gif)
			)
	)
	(halt)
)